Many types of communication systems provide some mechanism for providing the sender or source of a communication some indication as to whether the intended receiver or destination of the communication successfully received the communication. A common mechanism providing such feedback in communication systems involving the transfer and reception of individual communication segments, such as messages or packets, is a response or “acknowledgment” message or signal transmitted to the communication source from the destination that received the original message. An acknowledgment message, or “ACK”, indicates that at least one message from the source has been received successfully by the destination transmitting the acknowledgement. In some implementations, the destination may issue a negative acknowledgment message, or “NACK”, to the source to signify when an expected message is not received successfully.
Ordinarily, in communication systems in which a source does not transmit a message until the immediately preceding message has been acknowledged, the acknowledgment message need not explicitly identify the original message received. Oppositely, in systems in which multiple messages may be transmitted and outstanding without corresponding acknowledgment messages being received, each acknowledgment for an associated message received successfully may include an indication of which original message is being acknowledged so that the source is cognizant of which of the messages the source has previously transmitted do not require retransmission.
Typically, in response to a lack of an acknowledgment being received from the target within a predetermined period of time, the source may resend to the intended destination the original message corresponding to the missing acknowledgment at least once until an acknowledgment is received, or until a maximum number of retries for sending the original message has been reached.